// 加载express模块
const express = require('express')
// 创建web服务实例
const server = express()
//配置CORS，指定放行的域名，防止出现跨域问题
const cors = require('cors')
server.use(cors({
  origin:['http://127.0.0.1:5500']
}))

//配置multer中间件
const multer = require('multer')
obj = multer.diskStorage({
  destination : function(req, file, cb){ //指定目录
    cb(null, 'upload')
  },
  filename : function (req, file, cb){ // 指定文件名
    // console.log(uuid.v1())
    // console.log(uuid.v4())
    let name = file.originalname
    // name:  abcd.jpg    xxxdfdd.zip
    let ext = name.substr(name.lastIndexOf('.'))
    cb(null, uuid.v4() + ext)
  }
})
const uploadTools = multer({
  storage : obj
})
const uuid = require('uuid')

// 静态资源托管upload目录
server.use(express.static('upload'))

// 指定web服务器的监听端口
server.listen(3000)


//接收请求
// uploadTools中间件将会自动接收请求中的uploadFile字段对应的文件数据
// 并且将文件存入upload目录。
server.post('/upload',
  uploadTools.array('uploadFile'), (req, res)=>{
    // req对象中其实已经通过中间件将上传文件搞定，在此处
    // 也可以通过req访问保存的文件信息。
    console.log(req.files)
    // req.files将会返回保存的文件信息，可以将文件信息存入
    // 数据库方便下次访问。
    res.send('OK')
})
